home *** CD-ROM | disk | FTP | other *** search
- /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Copyright (C) 1996, by WATCOM International Inc. All rights %
- % reserved. No part of this software may be reproduced or %
- % used in any form or by any means - graphic, electronic or %
- % mechanical, including photocopying, recording, taping or %
- % information storage and retrieval systems - except with the %
- % written permission of WATCOM International Inc. %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- */
-
- #ifndef _WOLEDISP_HPP_INCLUDED
- #define _WOLEDISP_HPP_INCLUDED
-
- #ifndef _WNO_PRAGMA_PUSH
- #pragma pack(push,8);
- #pragma enum int;
- #endif
-
- #ifndef _WOLETYPE_HPP_INCLUDED
- # include "woletype.hpp"
- #endif
- #ifndef _WOLEIFAM_HPP_INCLUDED
- # include "woleifam.hpp"
- #endif
-
- struct WOleAutomationObjectRegistryDataBlock {
- const WCLSID *_typeLib;
- WInt _toolboxBitmap32;
- };
-
- class WCMCLASS WOleAutomationObjectRegistryData : public WOleInterfaceFamilyRegistryData
- {
- public:
- WOleAutomationObjectRegistryData( const WCLSID & clsid, void * );
- ~WOleAutomationObjectRegistryData( void );
-
- // Properties
- WBool SetRegistryDataBlock( WOleAutomationObjectRegistryDataBlock * );
- WOleAutomationObjectRegistryDataBlock *GetRegistryDataBlock( void ) const;
-
- // Self Registration
- virtual WBool Register( WApplication *application );
- virtual WBool Unregister( WApplication *application );
- };
-
- #define WOleDefineAutomationObject( n, c, c_id, rdb ) \
- static WOleAutomationObjectRegistryData n ## _WOleAutoRegistryData( c_id, &rdb );
-
- /*************************************************************************
- *
- * WOleAutomationObject -- Ole Automation interface family
- *
- * Events:
- *
- *************************************************************************/
-
- class WOleISupportErrorInfo;
- class WOleIProvideClassInfo2;
-
- class WCMCLASS WOleAutomationObject : public WOleInterfaceFamily
- {
- WDeclareSubclass( WOleAutomationObject, WOleInterfaceFamily );
-
- public:
-
- /**********************************************************
- * Constructors and Destructors
- *********************************************************/
- WOleAutomationObject( WOleServerObject *serverObject );
- virtual ~WOleAutomationObject();
-
- /**************************************************************
- * Properties
- **************************************************************/
-
- // Dispatch Interface
- WBool SetDispatchInterface( WPIDispatch dispatchInterface );
- WPIDispatch GetDispatchInterface( void ) const;
-
- // IID
- WBool SetIID( const WIID & guid );
- WIID GetIID( void ) const;
-
- // IsIDispatch
- WBool SetIsIDispatch( WBool );
- WBool GetIsIDispatch( void );
-
- /**************************************************************
- * Methods
- **************************************************************/
-
- // overrides
- virtual WBool Destroy( void );
-
- virtual WBool QueryInterface( const WCLSID & clsid, void **iface );
-
- /**********************************************************
- * Operators
- *********************************************************/
-
- /**********************************************************
- * Data Members
- *********************************************************/
-
- protected:
- WBool _isIDispatch;
- WPIDispatch _dispatchInterface;
- WOleISupportErrorInfo *_iSuppErr;
- WOleIProvideClassInfo2 *_pIProvideClassInfo2;
- WIID _iid;
-
- };
-
-
- #ifndef _WNO_PRAGMA_PUSH
- #pragma enum pop;
- #pragma pack(pop);
- #endif
-
- #endif // _WOLEDISP_HPP_INCLUDED
-
-